package basics

import (
	"fmt"
	"os"
	"strings"
)

// InputFscanf 指定输入源输入
func InputFscanf() {
	// 以下三个函数和Scan/Scanln/Scanf函数一样, 只不过上面三个函数是从标准输入读取数据, 而下面 三个函数可以通过r指定从哪读取数据
	// func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
	// func Fscanln(r io.Reader, a ...interface{}) (n int, err error)
	// func Fscan(r io.Reader, a ...interface{}) (n int, err error)
	var num1 int
	var num2 int
	// 第一个参数:指定从哪读取数据
	// 第二个参数:指定格式控制字符串
	// 第三个参数:指定要输出的数据
	fmt.Println("请输入两组数字，用空格隔开：")
	fmt.Fscanf(os.Stdin, "%d%d", &num1, &num2)
	fmt.Println(num1, num2)
	s := strings.NewReader("gaox 26")
	var name string
	var age int
	// 从指定字符串中扫描出想要的数据
	// 注意:
	fmt.Fscanf(s, "%s%d", &name, &age)
	fmt.Println("name =", name, "age =", age)
}
